Unless otherwise indicated herein, approaches described in this section are not prior art to the claims listed below and are not admitted as prior art by inclusion in this section.
High-Efficiency Video Coding (HEVC) is an international video coding standard developed by the Joint Collaborative Team on Video Coding (JCT-VC). HEVC is based on the hybrid block-based motion-compensated DCT-like transform coding architecture. The basic unit for compression, termed coding unit (CU), is a 2N×2N square block, and each CU can be recursively split into four smaller CUs until the predefined minimum size is reached. Each CU contains one or multiple prediction units (PUs).
To achieve the best coding efficiency of hybrid coding architecture, HEVC employs intra prediction and/or inter prediction modes for each PU. For intra prediction modes, the spatial neighboring reconstructed pixels can be used to generate the directional predictions in 35 directions. For inter prediction modes, the temporal reconstructed reference frames can be used to generate motion compensated predictions. There are three types of inter prediction modes: skip mode, merge mode, and advanced motion vector prediction (AMVP) mode.
Under AMVP mode, motion vectors (MVs) used for motion-compensated prediction of PUs are derived from motion vector predictors (MVPs) and motion vector differences (MVDs, or residual motion data) according to MV=MVP+MVD. For an AMVP-predicted PU, the MVP is selected from among a set of MVP candidates that includes two spatial candidates and one temporal candidate. An index that identifies the MVP selection is encoded and transmitted along with the corresponding MVD. Reference index for selecting a reference frame (or reference indices for selecting reference frames) from reference frame list L0 and/or L1 for bidirectional or unidirectional prediction is also encoded and transmitted.
When a PU is coded in either skip mode or merge mode, no motion information is transmitted except the merge index of the selected candidate. That is because skip mode and merge mode utilize motion inference methods (MV=MVP+MVD where MVD is zero) to obtain the motion information from spatially neighboring blocks (spatial candidates) or collocated blocks in temporally neighboring pictures (temporal candidates) that are selected from reference frame list L0 or L1 (indicated in slice header). In the case of a skip PU, the residual signal for the block being coded is also omitted.